/*!
 *file name : frame_deal.h
 *author :hu
 *
 *description:
 */
#include "xxx.h"

typedef enum State
{
	STATE_IDLE=0,
	STATE_HEAD,
	STATE_COMMAND,
	STATE_LEN,
	STATE_CRC_HIGH,
	STATE_CRC_LOW,	
	STATE_CHECK_OK
}State_t;

#define CODE_HEAD 0xaa
#define CODE_COMMAND_81 0x80
#define CODE_COMMAND_82 0x81
#define CODE_COMMAND_83 0x82
#define FRAME_LEN 0x64

#define IF_COMMAND(x)  (x==CODE_COMMAND_80 || x==CODE_COMMAND_81 || CODE_COMMAND_82)

/*!
 *
 *说明：从接收缓冲pData中，找到符合要求的数据帧，拷贝至数据帧缓冲pFrame
		参数可以做调整，例如可以判断具体的指令，将数据帧存放到不同的buffer
 *参数：
 *返回值：
 */
UINT8 dataCheck(UINT8 *pData,UINT8 dataLen,UINT8 *pFrame,UINT8 *pFrameLen)

/*!
 *
 *说明：根据数据帧的指令码，执行对应的帧处理
 *参数：
 *返回值：
 */
void frameHandle(UINT8 *pFrame,UINT8 frameLen);


/*!
 *
 *说明：具体帧处理
 *参数：
 *返回值：
 */
void deal80(UINT8 *pFrame,UINT8 frameLen);
void deal81(UINT8 *pFrame,UINT8 frameLen);
void deal82(UINT8 *pFrame,UINT8 frameLen);